This invention relates to the field of digital image processing, and ore particularly to methods of determining the extent of blocking and contouring artifacts in a digital image.
Digital images contain enormous amounts of data. Storage of this type of data on digital media is generally expensive and transmission of digital images requires either a large bandwidth or a long period of time. Many algorithms have been developed to compress image data by removing visually redundant information from the image. Discrete-cosine-transform-based (DCT-based) compression has been the most popular among existing techniques. DCT has very good energy compaction and data decorrelation properties. Moreover, DCT can be computed using fast algorithms and efficiently implemented using very large scale integration (VLSI) techniques. In DCT-based coding, an image is partitioned into small square blocks (typically 8xc3x978) and DCT is computed over these blocks to remove the local spatial correlation. In order to achieve high compression, quantization of the DCT coefficients is then performed. Quantization is an irreversible process that causes loss of information and distortions in the decompressed image. After quantization, the redundancy in the data is further reduced using entropy coding. At the decoder end, the received data is decoded, dequantized, and reconstructed by the inverse DCT. In general, a typical 8-bit gray-level image can be coded with compression ratio up to 10:1 without noticeable artifacts.
However, at low bit rates the reconstructed images generally suffer from visually annoying artifacts as a result of very coarse quantization. One major such artifact is the blocking effect, which appears as artificial block boundaries between adjacent blocks. At a low bit rate, each block is represented mainly by the first few low-frequency coefficients and, since each block is processed independently, no interblock correlation is accounted for in standard block DCT-based coding schemes. Therefore, discontinuity across the block boundary becomes noticeable.
There are many techniques developed to reduce the blocking effect. (i.e, H. C. Reeve III and J. S. Lim, xe2x80x9cReduction of blocking effect in image coding,xe2x80x9d in ICASSP, pp. 1212-1215, 1983). Since most of these techniques employ some kind of image filtering technique and thus reduce image sharpness to some extent, it is imperative that these techniques not be used on a xe2x80x9cgood image,xe2x80x9d i.e., one that has not been compressed highly enough to exhibit the blocking artifacts. Therefore, it is necessary to develop a triage algorithm that measures the extent of blocking artifacts in a digital image.
Certain blocking artifact removal algorithms require prior knowledge of block boundary locations. However, since digital images compressed with DCT-based technique can be further modified, for example, through cropping and zooming, the block boundary locations may have changed and become unknown at the time of blocking artifact removal. Thus, for those blocking artifact removal algorithms, there is a need for an automatic technique for detecting block boundary locations in digital images having blocking artifacts.
Because digital images may or may not have been compressed, and may have gone through different degrees of compression, the extent of the blocking artifacts varies from nonexistent to visually objectionable. Therefore, There is a need for determining the extent of the blocking artifacts in order to decide whether to perform artifact removing procedures. Furthermore, because virtually all artifact removal algorithms removes blocking artifacts at the expense of image detail, there is a need for controlling the optimal amount of filtering in order to strive for the good trade-off between artifacts removal and image detail preservation.
A conventional method for determining the extent of the blocking artifacts involves taking the ratio between the size of the compressed JPEG file and the size of the image, which corresponds to the amount of uncompressed image data. This ratio is commonly referred to as the compression ratio.
However, the compression ratio is not necessarily a good measure of the quality of the compressed image, nor the extent of the blocking artifacts. In general, at the same compression ratio, a busy image would look worse than a less busy image because busy images are harder to compress (therefore a busy image has lost more details than the less busy image).
Another common artifact due to coarse quantization, in particular the DC coefficients, by JPEG compression, is false contours in smoothly varying image regions. This is actually an extreme case of the blocking facts where block boundaries only appear in one direction. It will be referred to as contouring artifacts in the present invention. For example, if an image contains a smooth sky region and the gradient of transition is in the vertical direction, then false contours will show up in the horizontal direction as horizontal contours when the image is highly compressed with coarse quantization.
Therefore, there is a need to define a more perceptually accurate measure of both the blocking and contouring artifacts.
The needs are met according to the present invention by providing a digital image processing method for determining the extent of blocking and contouring artifacts in a digital image, that includes the steps of: forming column and row difference images; averaging the values in the columns and rows in the column and row difference images to produce column and row difference arrays; determining the extent of blocking artifacts using the column and row difference arrays; determining the extent of contouring artifacts based on an estimated DC quantization step size; and, determining a composite artifact measure as a function of the extent of blocking artifacts and extent of contouring artifacts. The needs are further met according to the present invention by providing a digital image processing method for determining the extent of contouring artifacts in the digital image, that includes the steps of: forming a column difference image; averaging the values in the columns in the column difference image to produce a column difference array; computing the average of the values in the column difference array that are separated by one block width to produce a block averaged column difference array; locating the peak value in the block averaged column difference array; repeating the above mentioned steps in the row direction; locating block boundaries based on the locations of peak values of column and row difference arrays; calculating DC value for each block; generating a histogram of the block DC values; calculating the Fourier transform of the histogram; locating the first non-DC peak in the Fourier transform domain; calculating a DC quantization step size based on the frequency of the first non-DC peak; and, employing the DC quantization step size as a measure of the extent of the contouring artifacts in the digital image.
The present invention has the advantage that it measures the extent of blocking and contouring artifacts in a digital image based on image content.
The present invention also has the advantage that it automatically detects block boundary locations even if a digital image has been modified by cropping and zooming.